Some computing devices (e.g., smart phones, PDAs, desktop and mobile computers, and mobile media devices) utilize a physical memory (PMEM) management API to allocate and free large buffers outside of an operating system (OS) heap. In these systems, however, attention must be paid to determine whether those buffers are virtually or physically mapped by devices, and in addition, management code must be tailored to work across different devices that may gain or lose I/O memory management units (IOMMUs). Moreover, runtime allocation of large physical buffers in prior systems is difficult if not practical. Accordingly, current systems do not always operate in a convenient manner and will most certainly not be satisfactory in the future.